﻿//начало текста модуля

///////////////////////////////////////////////////
//Служебная часть
///////////////////////////////////////////////////


// контекст фреймворка Vanessa-Behavior
Перем Ванесса;
 


// Служебная функция.
Функция ДобавитьШагВМассивТестов(МассивТестов,Снипет,ИмяПроцедуры,ПредставлениеТеста = Неопределено,Транзакция = Неопределено,Параметр = Неопределено)
	Структура = Новый Структура;
	Структура.Вставить("Снипет",Снипет);
	Структура.Вставить("ИмяПроцедуры",ИмяПроцедуры);
	Структура.Вставить("ИмяПроцедуры",ИмяПроцедуры);
	Структура.Вставить("ПредставлениеТеста",ПредставлениеТеста);
	Структура.Вставить("Транзакция",Транзакция);
	Структура.Вставить("Параметр",Параметр);
	МассивТестов.Добавить(Структура);
КонецФункции


// Функция экспортирует список шагов, которые реализованы в данной внешней обработке.
Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт
	Ванесса = КонтекстФреймворкаBDD;
	
	ВсеТесты = Новый Массив;

	//описание параметров
	//ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,Транзакция,Параметр);

	ДобавитьШагВМассивТестов(ВсеТесты,"ЯВыпоняюШагСПараметеромКогдаКавычкиИдутРаньшеАпострофов(Парам01,Парам02)","ЯВыпоняюШагСПараметеромКогдаКавычкиИдутРаньшеАпострофов","Когда я выпоняю шаг с параметером когда кавычки ""кавычки"" идут раньше апострофов 'апострофы'");
	ДобавитьШагВМассивТестов(ВсеТесты,"ВПеременнойКонтекстБудетЗначение(Парам01,Парам02)","ВПеременнойКонтекстБудетЗначение","Тогда в переменной контекст будет значение ""Знач1"" ""кавычки""");
	ДобавитьШагВМассивТестов(ВсеТесты,"ЯВыпоняюШагСПараметеромКогдаАпострофыИдутРаньшеКавычек(Парам01,Парам02)","ЯВыпоняюШагСПараметеромКогдаАпострофыИдутРаньшеКавычек","Когда я выпоняю шаг с параметером когда апострофы 'апострофы' идут раньше кавычек ""кавычки""");

	Возврат ВсеТесты;
КонецФункции
	

// Служебная функция.
Функция ПолучитьМакетСервер(ИмяМакета)
	Возврат ПолучитьМакет(ИмяМакета);
КонецФункции
	

// Служебная функция для подключения библиотеки создания fixtures.
Функция ПолучитьМакетОбработки(ИмяМакета) Экспорт
	Возврат ПолучитьМакетСервер(ИмяМакета);
КонецФункции



///////////////////////////////////////////////////
//Работа со сценариями
///////////////////////////////////////////////////


// Процедура выполняется перед началом каждого сценария
Процедура ПередНачаломСценария() Экспорт
	
КонецПроцедуры


// Процедура выполняется перед окончанием каждого сценария
Процедура ПередОкончаниемСценария() Экспорт
	
КонецПроцедуры



///////////////////////////////////////////////////
//Реализация шагов
///////////////////////////////////////////////////


//Когда я выпоняю шаг с параметером когда кавычки "кавычки" идут раньше апострофов 'апострофы'
//@ЯВыпоняюШагСПараметеромКогдаКавычкиИдутРаньшеАпострофов(Парам01,Парам02)
Процедура ЯВыпоняюШагСПараметеромКогдаКавычкиИдутРаньшеАпострофов(кавычки,апострофы) Экспорт
	Контекст.Вставить("Знач1",кавычки);
	Контекст.Вставить("Знач2",апострофы);
КонецПроцедуры


//Тогда в переменной контекст будет значение "Знач1" "кавычки"
//@ВПеременнойКонтекстБудетЗначение(Парам01,Парам02)
Процедура ВПеременнойКонтекстБудетЗначение(ИмяПараметра,ЗначениеПараметра) Экспорт
	Ванесса.ПроверитьРавенство(Контекст[ИмяПараметра],ЗначениеПараметра,"Ожидали равнества параметров.");
КонецПроцедуры

//окончание текста модуля


//Когда я выпоняю шаг с параметером когда апострофы 'апострофы' идут раньше кавычек "кавычки"
//@ЯВыпоняюШагСПараметеромКогдаАпострофыИдутРаньшеКавычек(Парам01,Парам02)
Процедура ЯВыпоняюШагСПараметеромКогдаАпострофыИдутРаньшеКавычек(апострофы,кавычки) Экспорт
	Контекст.Вставить("Знач1",апострофы);
	Контекст.Вставить("Знач2",кавычки);
КонецПроцедуры
  